package com.woniu.account.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageInfo;
import com.woniu.account.dto.User.UserDto;
import com.woniu.account.form.User.RealNameAuthenticationForm;
import com.woniu.account.model.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.account.param.User.*;
import com.woniu.exception.userexp.YogaException;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 杜岷芫
 * @since 2024年07月11日
 */
public interface UserService extends IService<User> {


    /*
       发送注册验证码的方法
        */


    public void CodeRegister(CodeRegisterParam param)throws Exception;

    UserDto userlogin(UserInfoLoginParam param);

    void sendRegisterCode(String mobile) throws Exception;

    void updateImage(UpdateUserImageParam param);

    void UpdateNickName(UpdateNickNameParam param);

    void UpdateUserPassword(UpdateUserPasswordParam param) throws Exception;

    void UpdateUserPhone(String mobile) throws Exception;

    void codeUpdate(CodeUpdateParam toBean) throws Exception;

    boolean inspectIdCard(String idCard);

    String userRealNameAuthentication(RealNameAuthenticationForm form);

    Page<User> pageAllUser(PageAllParam param)throws YogaException;

    User loadUsersByIds(Integer userId);

    PageInfo<UserDto> load(LoadUserParam toBean);
}
